PROBING THE DEPTHS OF MIDI ON THE ROLAND SOUND CANVAS ============================================================ **This is a reprint from KEYBOARD magazine's February 1994 issue.** Everybody knows how to use their Roland Sound Canvas: Plug it in, call up the sounds, push play on your sequencer, and dig the music. But did you know that the Sound Canvas is also a very programmable synthesizer? Tapping into its power will boost you to new levels of MIDI musicianship. On most Sound Canvas models, you can access a variety of advanced functions via front-panel button sequences. Controlling the Sound Canvas through MIDI, however, offers substantial advantages -- not only for models with limited front-panel access, but for sequencing and live applications on all models. For example, since edits can't be saved in the Sound Canvas itself, to save the edits you make from the front panel in micro edit of part edit, you must do a part or bulk system-exclusive (sys-ex) dump into your sequencer. That's fine if that particular dump will take care of the whole song, but if you want to make substantial changes in instrumentation, effects, or tunings in the middle of a song, sending the dump back to the Sound Canvas may cause unacceptable interruptions in playback. Using smaller controller and sys- ex messages will enable you to create more expressive performances and take greater advantage of Roland's GS parameters. Small sys-ex messages are also a heck of a lot easier to edit once they're in your sequence. The tips that follow will introduce you to many highly musical avenues to explore when programming your Sound Canvas. Everything presented here will work on the following Roland products: Sound Canvas models SC-33, SC-50, SC-55, SC-55mkII, SC-155 and SC-88; the Boss DS-330 Dr. Synth sound module; the JV-30, JV-35, JV-50 and JW-50 synthesizers; the SCC-1 GS soundcard; and the VE- GS1-01 GS expansion board for the JV-1000 music workstation. *MIDI CONTINUOUS CONTROLLERS* Using continuous controllers is an easy way to begin exploring some of the hidden features of your Sound Canvas. Once you know which controllers access which features, you can experiment with them by entering the controller numbers and values into your sequencer's event list and then playing the data into the Sound Canvas. You're probably already familiar with controllers such as modulation (CC1), volume (CC7), and pan (CC10), and the Sound Canvas of course responds to them. For some added finesse, however, let's take a look at some special controller tricks and what you can do with Registered and Non- Registered Parameter Numbers (RPN and NRPN) as well. * Mono and Portamento If you want your Sound Canvas to go retro and sound a bit more analog, select a synth sound, such as #82 Saw Wave, and use continuous controllers to set part 1 to mono mode and add portamento...instant vintage synth! You may also want to add some chorus to fatten it up a bit. Send the following data values on the MIDI channel of the part that you want to edit: CC126 Value 1 Mono On CC65 Value 127 Portamento On CC5 Value 40 Portamento Time * Volume and Expression Another important aspect of successful sequencing with the Sound Canvas is the relationship between volume (CC7) and expression (CC11). Roland recommends using volume to set the maximum level for each part. Use this to set the initial balance of your sounds. Expression can then be used as a controller for adjusting volume between 0 and the level set by CC7. This allows you to retain a lower level, yet still have a full range of expressive control over your mix. It's also very handy when you want a part's maximum level to be an irregular value, such as 71. Using only CC7, it can be difficult to return a slider or pedal exactly to 71. However, if you assign the slider to CC11, you simply run the slider to the top, and the Level will return to 71. * Pitch-Bend Sensitivity Registered Parameter Numbers CC100 and CC101 define the RPN functions, which include pitch-bend sensitivity, fine tuning, and coarse tuning. Use data entry CC6 (MSB -- most significant byte) and CC38 (LSB -- least significant byte) to set the values for the registered parameter you choose. (MSB and LSB commands allow two 7-bit data words to be used to send a single 14-bit word. Most and least simply refer to which byte is sent first.) Again, be sure to enter these MIDI messages into your sequence on the proper MIDI channel for the part you intend to edit. The Sound Canvas has a default pitch-bend range of a whole-step, which is fine for most musical uses. But to get a real bluesy string bend on a guitar part, a ribbon-bender effect on a synth lead part, or realistic fall-offs on brass stabs, you'll need to increase the Pitch-Bend Range. You can set the bend range for an individual part to up to two octaves by inserting these messages into your event list: CC101 Value 0 CC100 Value 0 CC6 Value X X is the number of half-steps, from 0 to 24, to which you want the Sound Canvas to respond. CC101 and CC100 tell the Sound Canvas that pitch-bend is the parameter you want to adjust. * Coarse Tuning The coarse tuning parameter lets you change the pitch of the Sound Canvas in half-steps over a four- octave range. Since all registered parameter functions affect only the channel on which they are sent, you can transpose just the parts you want to, and leave others unaffected. This lets you transpose a piece to suit a singer's range, while leaving the drum and sound effects parts at their original pitch. On the other hand, you may want to tune the drums up or down to fatten or tighten them up, and leave the other parts untouched. If you try to do this by transposing your entire sequence, the note numbers in your drum tracks will be transposed as well, yielding some unexpected and possibly undesirable results. Add the following message to the event list of each track you wish to transpose: CC101 Value 0 CC100 Value 2 CC6 Value X X can be any value from 40 to 88, with 64 being standard tuning, and each number higher or lower than 64 representing a half-step up or down. * Fine Tuning The pitch of standard tuning has not been consistent over the years, and indeed, many ensembles and orchestras today choose pitch references other than A=440Hz. With the Fine Tuning registered parameter function, the Sound Canvas can be tuned to match any modern or historical pitch level. Here's the basic message: CC101 Value 0 CC100 Value 1 CC6 Value X For standard A=440Hz tuning, X=64. For each increment of X, the pitch of the Sound Canvas changes approximately 1.5 cents (a cent is 1/100 semitone), giving you a range from 415.3Hz to 466.2Hz. Here are the messages for three common historical pitch references (note that A=415Hz requires a coarse tune message to get beyond the 415.3Hz bottom limit). Insert them in each track you wish to tune. A=430Hz CC101 Value 0 CC100 Value 1 CC6 Value 36 A=460Hz CC101 Value 0 CC100 Value 1 CC6 Value 115 A=415Hz CC101 Value 0 CC100 Value 2 CC6 Value 63 CC101 Value 0 CC100 Value 1 CC6 Value 62 * Synthesis Editing The Sound Canvas synthesis engine comes alive with the NRPN controllers CC98 and CC99. Eight NRPNs let you control basic synthesis functions, and five are for editing the level, pitch, pan, reverb, and chorus amount for individual instruments within a drum kit. Listed below are the synth editing NRPNs, their controller numbers, and their value ranges. A value of 64 is the default setting. You can raise or lower any of the values ±50; values above 64 will increase the effect, and values below 64 will decrease it. Some sounds may not respond as you'd expect because the ROM value is already maximized. For instance, if a sound's factory default for filter cutoff is already wide open, adding +50 to it will have no effect. In this case, lowering the cutoff by -50 should produce a noticeable effect. Note: On some Sound Canvas instruments, you must first enable the device to receive NRPNs by sending a GS reset message (see the final tip in this article). The CC6 values of 64 are default settings, and 14 and 114 are the allowable minimum and maximum, respectively. (See Table 1). To slow the attack time of a particular part, insert the message below into your sequencer on the MIDI channel the part is set to respond to. For a slower attack, X should be a value between 65 and 127. CC99 Value 01 CC98 Value 99 (TVF & TVA Attack Time) CC6 Value X To get a musical wind instrument vibrato, try this message on a flute sound. CC99 Value 01 CC98 Value 8 (Vibrato Rate) CC6 Value 72 CC99 Value 01 CC98 Value 9 (Vibrato Depth) CC6 Value 78 CC99 Value 01 CC98 Value 10 (Vibrato Delay) CC6 Value 100 --Table 1--------------------------------------------------- CC99 CC98 CC6 Vibrato Rate 01 08 14-64-114 Vibrato Depth 01 09 14-64-114 Vibrato Delay 01 10 14-64-114 Filter Cutoff 01 32 14-64-114 Resonance 01 33 14-64-114 TVF & TVA Attack Time 01 99 14-64-114 TVF & TVA Decay Time 01 100 14-64-114 TVF & TVA Release Time 01 102 14-64-114 ------------------------------------------------------------ * Drum Instrument Editing NRPNs let you tweak any individual sound in a Sound Canvas drum kit. In this case CC99 defines the function, CC98 specifies the note number, and CC6 sets the value. The following table shows these controllers and values. (See Table 2). Try changing the pitch of the snare drum assigned to E2 with these messages: CC99 Value 24 CC98 Value 40 CC6 Value 70 --Table 2--------------------------------------------------- CC99 CC98 CC6 Drum Pitch Coarse 24 Note# 0-64-127 Drum Level 26 Note# 0-127 Drum Pan 28 Note# 0=random 01-64-127 Drum Reverb Send 29 Note# 0-127 Drum Chorus Send 30 Note# 0-127 ------------------------------------------------------------ Once these NRPNs reside in your sequence, you can easily make subtle or drastic changes to any of these parameters by altering the corresponding CC6 value. *SYSTEM-EXCLUSIVE* Sys-ex commands allow you to alter the entire sonic makeup of your Sound Canvas by typing a data string into your sequencer's sys-ex list. If you haven't used sys-ex before, check out the "What the Hex?" sidebar for a tutorial on how it works with the Sound Canvas. (The first five bytes in the messages below, F0 41 10 42 12, are a header for all Sound Canvas sys-ex messages. The F0 is a sys-ex status byte, and the rest of the message consists of data bytes.) In all of the following examples, we have computed the checksum for you, so all you have to do is enter the data. Roland MC-series sequencers with Super MRC automatically compute the checksum when you enter 00 just preceding the F7 (end of exclusive) message. Refer to the sidebar for more info on checksums. * Two Rhythm Parts Enabling a second part for rhythm lets you mix the Jazz and Jazz Brush Kits, for example, combine the Electronic kit with the Standard kit, or use the SFX Kit along with any of the other drum kits. The first message below will change part 11 to drum part 2, after which you can send a program change on channel 11 to call your second drum kit. The second message changes part 11 back to a normal part. F0 41 10 42 12 40 1A 15 02 0F F7 F0 41 10 42 12 40 1A 15 00 11 F7 * Controller Routing A common misconception is that the Sound Canvas doesn't respond to aftertouch. It will actually receive both channel and polyphonic aftertouch, but first you need to assign aftertouch to a destination. All told, the Sound Canvas can accept six control sources: modulation, pitch-bend, channel and poly aftertouch, and two assignable MIDI controllers. What's more, each of these can have up to 11 simultaneous destinations: pitch, filter cutoff, and amplitude, and rate, TVF depth, TVA depth, and pitch depth for each LFO. For a complete list, check addresses 40 2n 00 through 40 2n 5A on the MIDI Implementation in your instrument's owner's manual. Note that the "n" in these addresses is the part number. The following message enables aftertouch to create volume swell and add a bit of vibrato on part 1: F0 41 10 42 12 40 21 22 78 50 06 2F F7 Try this on #49 Strings to add a little intensity, or on a lead sound, such as #88 Bass & Lead. For other parts, change the second digit of the address byte (the sixth data byte, 21, in the above example) as needed. Note for hex-heads: When specifying parts, Roland uses 1 for part 1, 2 for part 2, and so on up through part 10, which is specified using 0. Parts 11 through 16 are specified with the hex digits A through F. * Alternate Scale Tunings Through sys-ex, you can tune individual pitches to create scales that stray from the equal-tempered path. All kinds of historical and ethnic tunings are possible, and since a message affects only the part to which you send the string, you can even have interesting fusion effects like an ethnically tuned solo accompanied by an equal-tempered band. Increasing the value of any single data byte (the 12 bytes following the six address bytes) raises or lowers the pitch one cent, and standard equal temperament is represented by 40 (hex). These parameters are located with the Micro Edit functions on the MIDI implementation pages of the Sound Canvas manual. As with all Micro Edit functions marked in the manual with an asterisk, you must send the data for all addresses within the parameter; in this case, you must send data for all 12 notes of the chromatic scale, even if there are notes that you aren't changing. The following example, set for part 1 (as denoted by the second digit in the sixth data byte), is one of many Arabic tunings, and it is effective with #16 Santur. F0 41 10 42 12 40 11 40 40 72 40 40 0E 40 40 40 0E 40 40 0E 53 F7 * Changing Effects There's a lot more to the effects capabilities of the Sound Canvas than most people realize: There are eight different reverbs, each with eight variations, plus two delays and a flanger. You can edit effect parameters, such as reverb master level and time, plus chorus rate, level, and feedback. You can use CC91 and CC93 to control the amount of reverb and chorus per part, but the master levels default to 50%. With sys-ex you can increase the level as well as edit all the effect parameters. For a complete list of editable parameters, consult addresses 40 01 30 through 40 01 3F in the MIDI Implementation. Here's how to select Room 2 reverb, and max its master level: F0 41 10 42 12 40 01 30 02 04 00 7F 0A F7 Here's how to max out the master levels and increase reverb time: F0 41 10 42 12 40 01 33 7F 60 2D F7 This message switches chorus to flanger: F0 41 10 42 12 40 01 38 04 03 F7 The chorus level for each part defaults to 0, so you'll have to boost its level in order to hear the flanger. * Turning Channels Off When using more than one sound module with a sequencer, you may want to thin out the orchestration by turning off a part or two on your Sound Canvas. Let's say you want to have a piano module respond to MIDI channel 1 and the SC-55 to channels 2 through 16. Since the Sound Canvas listens on all 16 channels, you must use a short sys-ex message to turn part 1 off: F0 41 10 42 12 40 11 02 10 0D F7 Any of the 16 parts can be turned off using the part numbering given in Table 3. --Table 3------------------------------ PART TO TURN A PART OFF 1 F0 41 10 42 12 40 11 02 10 1D F7 2 F0 41 10 42 12 40 12 02 10 1C F7 3 F0 41 10 42 12 40 13 02 10 1B F7 4 F0 41 10 42 12 40 14 02 10 1A F7 5 F0 41 10 42 12 40 15 02 10 19 F7 6 F0 41 10 42 12 40 16 02 10 18 F7 7 F0 41 10 42 12 40 17 02 10 17 F7 8 F0 41 10 42 12 40 18 02 10 16 F7 9 F0 41 10 42 12 40 19 02 10 15 F7 10 F0 41 10 42 12 40 10 02 10 1E F7 11 F0 41 10 42 12 40 1A 02 10 14 F7 12 F0 41 10 42 12 40 1B 02 10 13 F7 13 F0 41 10 42 12 40 1C 02 10 12 F7 14 F0 41 10 42 12 40 1D 02 10 11 F7 15 F0 41 10 42 12 40 1E 02 10 10 F7 16 F0 41 10 42 12 40 1F 02 10 0F F7 -------------------------------------- * Splits and Layers For live performance, use your sequencer and sys-ex to instantly create complex splits and layers -- even on keyboards that don't have zoning capabilities or can't transmit on multiple channels. First we assign part 2 to MIDI channel 1. To do this, create a sys-ex string in which part 2's address, 40 1n 02 with n=2, is followed by the data byte 00, which denotes MIDI channel 1. (Part 1 is already assigned to MIDI channel 1, so we don't have to tinker with it.) We now assign the parts to specific keyboard ranges using the Key Range Low and High addresses (40 1n 1D and 40 1n 1E). Now select tones for each part with the Tone Number address (40 1n 00 and 01; two bytes required). This is great if you want to play a bass and piano break in the middle of a song. Leave out the Key Range messages and you have an instant layer. First, assign part 2 to MIDI channel 1: F0 41 10 42 12 40 12 02 00 2C F7 Now let's use modulation to control the level of the sound on Part 2. We'll assign modulation to amplitude and turn the pitch modulation off, like this: F0 41 10 42 12 40 22 02 7F 40 00 5D F7 You can use this example to fade in a string sound over a piano sound. * Voice Reserve This parameter lets you assign a minimum number of voices and a hierarchy for each part, so that if the number of notes in a sequence exceeds the unit's polyphony, it will borrow voices from the lower priority parts and keep the higher ones playing. If two parts are assigned the same number of voices, the lower- numbered part will take priority. The Sound Canvas has a default part priority where part 10 (the drum part) is highest, followed by parts 1 through 16 in ascending order. The following message reassigns the voice reserves for parts 9 through 16, reserving a minimum of three voices each on parts 9, 11, and 12, and two each on parts 13 through 16: F0 41 10 42 12 40 01 10 03 00 00 00 0000 00 00 00 03 03 03 02 02 02 02 6C F7 * GS Reset This message will reset the Sound Canvas to its factory default condition. In the case of the newer Sound Canvas instruments, such as the SC-55mkII, you must send this message before using the NRPNs to program your sounds. Insert this message at the beginning of every song, in order to wipe the palette clean: F0 41 10 42 12 40 00 7F 00 41 F7 The best thing about this message is that you don't need to worry about messing up your Sound Canvas by entering any of the other messages in this article incorrectly. It will always return you to a clean condition. So have fun with your MIDI hacking!